画像を徐々に大きく表示する
今回は、画像を徐々に大きく表示させるテクニックを紹介します。ホームページのタイトル用画像などに利用すれば、効果的な演出が行えると思います。JavaScriptは少しだけ長めですが、特に難しい命令は使用していないので、気楽にチャレンジしてみてください。

→ 画像をTABLE内に配置する
 
まずは、徐々に拡大させる画像をTABLE内に配置します。このとき、画像を配置するセルのサイズを(画像サイズ+余白)で指定し、画像をセルの中央に配置するようにします。この理由は、画像のサイズを拡大してもページ全体のレイアウトが変化しないようにするためです。今回の例では600×400の画像を利用するので、セルのサイズは620×420としました。また、最初は画像を小さく表示するので、width、height属性で画像のサイズを指定しておきます。このとき、画像の縦横比が維持されるように注意してください。そのほか、IMGタグにname属性を追加し、画像に名前を付けておくのも忘れてはいけません。
<TABLE border=0 cellpadding=0 cellspacing=0>
<TR><TD width=620 height=420 valign=middle align=center>
<IMG src="title.jpg" border=0 name="img01" width=4 height=3>
</TD></TR>
</TABLE>


→ 画像を拡大表示するJavaScript関数を呼び出す
 
続いて、画像を拡大表示するJavaScript関数「titlezoom()」を呼び出します。この関数は、ページが表示されると同時に実行しなければいけないので、BODYタグにonLoadイベントを追加して関数を呼び出します。
<BODY onLoad="titlezoom()">


→ JavaScript関数を自作する
 
あとは、JavaScript関数「titlezoom()」を自作すれば完成です。JavaScript内では、はじめに画像の最終的な横幅を変数「max」で指定しておきます。続いて、関数「titlezoom()」を作成していきますが、ここでの処理は大きく分けて以下のようになります。
 (1)画像の横幅が「max」に達していない場合
 (2)画像の横幅が「max」以上の場合

(1)の場合は、現在の横幅、高さを「w」「h」に取り込み、それぞれの値を画像の縦横比に応じて少しずつ増加させていきます。今回の場合は横:縦=3:2なので、それぞれを「+3」「+2」ずつ増加し、それを新しい画像サイズとしています。一方(2)の場合は、すでに画像の拡大が終了しているので、最終的なサイズで画像を表示するように指定します。
最後に、「setTimeout("titlezoom()",1);」で関数「titlezoom()」を繰り返し実行させれば、このテクニックは完成です。
<SCRIPT language="JavaScript">
<!--
max=600;
function titlezoom(){
if (Math.floor(document.img01.width)<max) {
w =document.img01.width;
h =document.img01.height;
ww=Math.floor(w)+3;
hh=Math.floor(h)+2;
document.img01.width=ww;
document.img01.height=hh;
}
else if (Math.floor(document.img01.width)>=max) {
ww=max;
hh=400;
document.img01.width=ww;
document.img01.height=hh;
}
setTimeout("titlezoom()",1);
}
// -->
</SCRIPT>


yVoC[UNLIMIT1~] ECir|C Yahoo yV LINEf[^[z500~`I


z[y[W NWbgJ[h COiq O~yz COsI COze